/*! \file MemoryBuffer.h
 *	\brief <write description for MemoryBuffer.h>
 *
 *	created:	2010/08/10
 *	created:	10:8:2010   12:57
 *	filename: 	C:\Users\venn\Documents\projects\tactics-engine\libs\utils\MemoryBuffer.h
 *	file path:	C:\Users\venn\Documents\projects\tactics-engine\libs\utils
 *	file base:	MemoryBuffer
 *	file ext:	h
 *	author:		Vitalii Trubchaninov
 *				venngraydog@gmail.com
 */

#ifndef _utils_MEMORYBUFFER_H_
#define _utils_MEMORYBUFFER_H_

#pragma once

#include <core/vector.h>
#include <io/BaseIStream.h>

namespace tt{
namespace utils{

class MemoryBuffer
{
public:
	MemoryBuffer();
	~MemoryBuffer();

	void create(io::BaseIStream& is);

	Size size() const;
	const void* data() const;

protected:
	
private:
	typedef core::Vector<UInt8>::Type Buffer;
	Buffer m_buffer;
};

} //namespace utils
} //namespace tt

#endif //_utils_MEMORYBUFFER_H_